home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / drdtips.zip / 1300.TXT < prev    next >
Text File  |  1992-01-02  |  13KB  |  313 lines

  1. Document 1300
  2. Memory Management
  3.  
  4. Description:
  5.  
  6. Memory Management Overview
  7.  
  8. The purpose of a memory management system is to effectively
  9. manage the Random Access Memory (RAM) available on your computer
  10. and to maximize memory in which to load your applications. When
  11. personal computers were first introduced, they operated with as
  12. little as 64 kilobytes (Kbytes) of RAM. However, as PCs became
  13. more sophisticated and powerful, so did the application programs
  14. that ran on them. 
  15.  
  16. Today, modern applications frequently require 540 Kbytes of
  17. memory, or more, to load. Ten years ago, that amount of required
  18. RAM would have seemed vastly excessive. Many common
  19. configurations do not have sufficient memory for proper
  20. fractioning of large applications.
  21.  
  22. And, although today's computers typically have over 1 Mbyte of
  23. RAM available, only a portion of the first 640 Kbytes are
  24. available for DOS applications.  Device drivers and TSRs are
  25. also typically loaded into this area, reducing the memory
  26. available for an application.
  27.  
  28. Memory management software is designed to overcome the problem
  29. of insufficient conventional memory. The DR DOS memory
  30. management system is called MemoryMAX.
  31.  
  32. The DR DOS MemoryMAX System
  33.  
  34. The term MemoryMAX describes the collection of device drivers
  35. and commands that are used for memory management under the DR
  36. DOS 6.0 operating system to take advantage of all RAM memory
  37. available on your computer.
  38.  
  39. The MemoryMAX system is designed to free-up as much conventional
  40. memory as possible.  It achieves this goal by utilizing certain
  41. previously unused areas of high and lower memory and by
  42. remapping and moving other memory areas. 
  43.  
  44. The MemoryMAX system extends the amount of memory available to
  45. applications, so that even with network drivers and TSRs loaded,
  46. there can still be 620 Kbytes, or more, conventional memory
  47. available. However, the exact amount of additional memory that
  48. MemoryMAX provides is dependent on your particular system's
  49. configuration.
  50.  
  51. The MemoryMAX system consists of three device drivers and six
  52. commands. The MemoryMAX device drivers and commands are detailed
  53. in Chapter 11 of the DR DOS 6.0 User Guide, "Customizing your
  54. System".  This table lists MemoryMAX drivers and features by
  55. various hardware configurations.
  56.  
  57. MemoryMAX Features Available with Hardware/Device Driver
  58. Combinations
  59. ________________________________________________________________________
  60. Applicable  | Driver    | LIM | DR DOS Kernel     |  XMS | DRDOS
  61. Hardware    |           |     | Kernel Relocation |      | UpperMemory
  62. ------------------------------|-------------------|------|--------------
  63. 386sx, 386  |EMM386.SYS | YES |     YES           |  YES |  YES
  64. or 486      |           |     |                   |      |
  65. ------------|-----------|-----|-------------------|------|--------------
  66. 386sx,386,  |HIDOS.SYS  |     |                   |      |
  67. or 486,     |with Third-|  ?  |     YES           |  YES |  N/S
  68.             |Party XMS  |     |                   |      |
  69.             |Memory Mgr |     |                   |      |
  70. ------------|-----------|-----|-------------------|------|--------------
  71. IBM PS/2    |EMMXMA.SYS | YES |     N/S           |  N/S |  N/S 
  72. 80286 with  |           |     |                   |      |      
  73. IBM XMA card|           |     |                   |      |      
  74. ------------|-----------|-----|-------------------|------|--------------
  75. 80286 with  | HIDOS.SYS | N/S |     YES           |  YES |  N/S
  76. Extended Mem|           |     |                   |      | 
  77. ------------|-----------|-----|-------------------|------|--------------
  78. 80286 with  | HIDOS.SYS | N/S |     YES           |  YES |  YES
  79. Mappable    |           |     |                   |      |
  80. Shadow Ram  |           |     |                   |      | 
  81. with Ext    |           |     |                   |      |   
  82. Memory      |           |     |                   |      | 
  83. ------------|-----------|-----|-------------------|------|--------------
  84. 80286 with  | HIDOS.SYS | N/S |     YES           |  YES |  YES
  85. Mappable    |           |     |                   |      |
  86. Shadow Ram  |           |     |                   |      |
  87. No Extended |           |     |                   |      |
  88. Memory      |           |     |                   |      | 
  89. ------------|-----------|-----|-------------------|------|--------------
  90. 80286 with  | HIDOS.SYS | N/S |     YES           |  YES |  YES
  91. NeAT, LeAP, |           |     |                   |      | 
  92. or SCAT     |           |     |                   |      | 
  93. ------------|-----------|-----|-------------------|------|--------------
  94. 80286 with  | HIDOS.SYS | YES |     YES           |  YES |  YES
  95. LIM 4.0     | with third|     |                   |      |
  96. driver and  | party     |     |                   |      |
  97. extended    | driver    |     |                   |      |
  98. memory      |           |     |                   |      |
  99. ------------|-----------|-----|-------------------|------|--------------
  100. 8088/8086/  | HIDOS.SYS | YES |     YES           |  YES |  YES
  101. 80286 with  | with third|     |                   |      |  
  102. LIM 4.0 EMS | party     |     |                   |      |
  103. card and no | LIM 4.0   |     |                   |      |
  104. extended    | driver    |     |                   |      | 
  105. ------------|-----------|-----|-------------------|------|--------------
  106.  
  107. Supported feature = YES
  108. Unsupported feature = N/S 
  109.  
  110. ? = This entry depends on the features offered by third-party
  111. memory manager
  112.  
  113. If upper memory is not supported, HIDEVICE, HIBUFFERS,
  114. HIINSTALL, and HILOAD commands have no effect.  HIDOS=ON|OFF
  115. might be supported if the third-party memory manager allocates
  116. XMS upper memory blocks (UMBs).
  117.  
  118. MemoryMAX System Commands and Drivers
  119.  
  120. The following is a listing and brief description of the
  121. components of the MemoryMAX memory management system. Refer to
  122. the DR DOS 6.0 User Guide for a complete description of each of
  123. these features and commands.
  124.  
  125. EMM386.SYS
  126.  
  127. EMM386.SYS is a device driver that allows the DR DOS 6.0
  128. operating system to make better use of the memory available on
  129. Intel i386, i386SX, and i486-based computers. Using EMM386.SYS,
  130. you can use LIM 4.0 expanded memory without the need for special
  131. add-on cards; relocate the DR DOS operating system kernel to
  132. upper or high memory, and enable upper memory to be used for
  133. TSRs, device drivers and operating system data structures by
  134. using the /AUTOSCAN, /INCLUDE, /EXCLUDE, and /USE options. You
  135. can also add up to 96 Kbytes to conventional memory using the
  136. /VIDEO option.
  137.  
  138. HIDOS.SYS
  139.  
  140. If you have an Intel 80286-based computer with extended memory,
  141. you can use the HIDOS.SYS driver to relocate the DR DOS
  142. operating system kernel to high memory (see the /BDOS option).
  143. On computers that support Shadow RAM, HIDOS.SYS relocates the
  144. kernel to upper memory, and enables you to load TSRs, drivers
  145. and operating system data structures into upper memory. Using
  146. the /VIDEO option, you can also add up to 96 Kbytes to
  147. conventional memory.
  148.  
  149. Example config.sys entry:
  150.  
  151. DEVICE=C:\DRDOS\HIDOS.SYS /BDOS=AUTO
  152.  
  153. HIDOS.SYS can also work in conjunction with LIM 4.0 expanded
  154. memory (EMS) device drivers to provide upper memory support on
  155. 8088/8086/80286 computers. This feature is detailed in the
  156. readme file or Release Notes.
  157.  
  158. Note:
  159. The HIDOS.SYS driver should not be confused with the
  160. similarly-named DR DOS MemoryMAX "HIDOS = ON/OFF" command (see
  161. below). 
  162.  
  163. EMMXMA.SYS
  164.  
  165. Use this driver on PS/2 80286 computers with IBM XMA and 100%
  166. compatible memory cards, to convert memory from extended to LIM
  167. expanded memory.
  168.  
  169. Example config.sys entry:
  170.  
  171. DEVICE=C:\DRDOS\EMMXMA.SYS /FRAME=D000
  172.  
  173. Note:
  174. The EMMXMA.SYS driver can be used only on PS/2 computers, and
  175. you cannot use the EMMXMA.SYS driver with any third-party memory
  176. managers (e.g., the Qualitas 386/MAX, or the Quarterdeck
  177. Expanded Memory Manager 386). You can use HIDOS.SYS following
  178. EMMXMA.SYS to obtain upper memory support.
  179.  
  180. The MemoryMAX commands listed below can be used when upper
  181. memory is supported by loading the EMM386.SYS or HIDOS.SYS
  182. drivers in the config.sys file.
  183.  
  184. HIBUFFERS
  185.  
  186. Use HIBUFFERS to specify the number of memory buffers that the
  187. DR DOS 6.0 operating system uses. HIBUFFERS performs the same
  188. function as BUFFERS, except that HIBUFFERS allocates as many
  189. buffers as possible into high memory rather than conventional
  190. memory. The following entry in your config.sys file sets the
  191. number of buffers to 20 and forces the DR DOS 6.0 operating
  192. system to allocate as many as possible from high memory.  
  193.  
  194. Example config.sys entry:
  195.  
  196. HIBUFFERS = 20
  197.  
  198. HIDEVICE
  199.  
  200. The HIDEVICE command loads specified device drivers into upper
  201. memory. If the device is unable to load into upper memory using
  202. HIDEVICE, it will be loaded into conventional memory. The
  203. following command loads the ANSI.SYS device driver into upper
  204. memory:
  205.  
  206. HIDEVICE=C:\DRDOS\ANSI.SYS
  207.  
  208. HIDOS
  209.  
  210. The HIDOS command relocates as much of the DR DOS operating
  211. system data structures as possible into upper memory. The
  212. default is OFF. 
  213.  
  214. Example config.sys entry:
  215.  
  216. HIDOS=ON
  217.  
  218. HIINSTALL
  219.  
  220. The HIINSTALL command loads specified TSRs into upper memory. If
  221. there is insufficient upper memory for the specified TSR, it is
  222. loaded into conventional memory. Although similar to the HILOAD
  223. command (see below), HIINSTALL must be loaded via the config.sys
  224. file.  Use HIINSTALL when you want a TSR permanently loaded at
  225. boot time because of best memory allocation (see the example in
  226. Chapter 2). The following command installs the CURSOR program
  227. into upper memory:
  228.  
  229. HIINSTALL=C:\DRDOS\CURSOR.EXE
  230.  
  231. Notice that you must give the full path name to the program and
  232. its extension (.com or .exe).
  233.  
  234. HILOAD
  235.  
  236. HILOAD loads specified TSRs and network drivers into upper
  237. memory. HILOAD is similar to the HIINSTALL command (which must
  238. be loaded using the config.sys file), but can be executed from
  239. the command line or from the autoexec.bat or other batch file.
  240. Before using HILOAD, you must be sure that upper memory has been
  241. enabled with the MEMMAX +U command.  
  242.  
  243. For example,
  244.  
  245. C:> HILOAD C:\LAN\NET3
  246.  
  247. MEMMAX
  248.  
  249. The MEMMAX command selectively enables and disables those
  250. enhanced memory areas provided by the DR DOS 6.0 operating
  251. system that might conflict with some applications. By using the
  252. MEMMAX +V switch, MEMMAX also enables extra memory if it has
  253. been reserved in the video adapter area by EMM386.SYS or
  254. HIDOS.SYS. You can execute the MEMMAX command from the command
  255. line or a batch file (see Chapter 10 of the DR DOS 6.0 User
  256. Guide).
  257.  
  258. Note:
  259. If you enabled the video adapter area by using MEMMAX +V, you
  260. must use the MEMMAX -V command to release this memory before
  261. loading graphics applications.
  262.  
  263. The HIDOS.SYS and EMM386.SYS device drivers can increase the
  264. conventional memory available to applications by using upper
  265. memory. However, some programs fail because they do not expect
  266. to find memory in this region. MEMMAX allows you to selectively
  267. enable and disable upper and lower memory from the command line
  268. or from batch files.   MEMMAX +U and -U will respectively enable
  269. and disable upper memory.  The DR DOS 6.0 installation will
  270. place the command "MEMMAX -U > nul" onto the autoexec.bat file. 
  271. The "> nul" disables the display of the MEMMAX status message on
  272. the screen.
  273.  
  274. MEMMAX -L and +L will respectively disable and enable the first
  275. 64 Kbytes of conventional memory.  This region is termed "low
  276. memory". Usually the operating system resides in low memory;
  277. however, by using the DR DOS 6.0 MemoryMAX features, most of
  278. this area can be made available for running applications.  Some
  279. applications were written using packing utilities that become
  280. confused when run in this low memory.  If this happens, the
  281. following message appears:
  282.  
  283. "Packed file is corrupt".
  284.  
  285. To correct this situation, use the MEMMAX -L command to disable
  286. low memory before running the application.  After exiting the
  287. application, use MEMMAX +L to enable the low memory area once
  288. again.
  289.  
  290. Example:
  291. The following example shows how you can use the MEMMAX command
  292. in a batch file that loads network drivers into upper memory.
  293. The example assumes that you have already loaded a DR DOS 6.0
  294. device driver that supports upper memory.
  295.  
  296. REM * * * MEMMMAX to open upper memory * * * 
  297. MEMMAX +U 
  298. HILOAD C:\LAN\IPX 
  299. HILOAD C:\LAN\NET3 
  300. REM * * * * Disable lower memory * * *  
  301. MEMMAX -L 
  302. I:
  303. CD LOGIN 
  304. REM * * * * Reopen lower memory * * * * 
  305. MEMMAX +L
  306.  
  307. Conclusion
  308.  
  309. While the MemoryMAX memory system works well with most
  310. application  programs, you might still encounter occasional
  311. difficulty.  The following chapters present the steps
  312. recommended for resolving such memory conflicts.
  313.